#pragma once

#define UWM_NCMOUSEMOVE_MSG			(L"UWM_NCMOUSEMOVE_USER_MSG")
#define UWM_NCMOUSELBUTTONUP_MSG	(L"UWM_NCMOUSELBUTTONUP_USER_MSG")
#define UWM_NCMOUSELBUTTONDOWN_MSG	(L"UWM_NCMOUSELBUTTONDOWN_USER_MSG")
#define UWM_NCMOUSERBUTTONUP_MSG	(L"UWM_NCMOUSERBUTTONUP_USER_MSG")
#define UWM_NCMOUSERBUTTONDOWN_MSG	(L"UWM_NCMOUSERBUTTONDOWN_USER_MSG")
#define UWM_NCMOUSELDBCLICK_MSG		(L"UWM_NCMOUSERBUTTONDOWN_USER_MSG")

#define UWM_MOUSEMOVE_MSG			(L"UWM_MOUSEMOVE_USER_MSG")
#define UWM_MOUSELBUTTONUP_MSG		(L"UWM_MOUSELBUTTONUP_USER_MSG")
#define UWM_MOUSELBUTTONDOWN_MSG	(L"UWM_MOUSELBUTTONDOWN_USER_MSG")
#define UWM_MOUSERBUTTONUP_MSG		(L"UWM_MOUSERBUTTONUP_USER_MSG")
#define UWM_MOUSERBUTTONDOWN_MSG	(L"UWM_MOUSERBUTTONDOWN_USER_MSG")
#define UWM_MOUSELDBCLICK_MSG		(L"UWM_MOUSERBUTTONDOWN_USER_MSG")

#if defined(MOUSEHOOK_EXPORTS)
#	define DLLEXPORT __declspec(dllexport)
#else
#	define DLLEXPORT __declspec(dllimport)
#endif

extern "C"
{

DLLEXPORT BOOL InstallMouseHook(HWND hWnd);

DLLEXPORT BOOL UnInstallMouseHook(HWND hWnd);

};